
#ifndef  VIRTIO_DISK_IMPL_H
#define  VIRTIO_DISK_IMPL_H


#define SECTOR  512

typedef struct virtio_disk_impl virtio_disk_impl_t;


void virtio_disk_impl_destroy(virtio_disk_impl_t * impl) ;

virtio_disk_impl_t *  virtio_disk_impl_create(char * fname, unsigned long size) ;

void virtio_disk_impl_print(virtio_disk_impl_t * impl) ;


int virtio_disk_impl_seek(virtio_disk_impl_t * impl, unsigned long offset) ;
int virtio_disk_impl_rw(virtio_disk_impl_t * impl, unsigned char * data, int size, int write) ;

void virtio_disk_impl_zero(virtio_disk_impl_t * impl);

#endif   /* VIRTIO_DISK_IMPL_H */
